home *** CD-ROM | disk | FTP | other *** search
- #* MAKEFILE.EDW
- #************************************************************************
- #* *
- #* PC Scheme/Geneva 4.00 Make file *
- #* *
- #* (c) 1985-1988 by Texas Instruments, Inc. See COPYRIGHT.TXT *
- #* (c) 1992 by L. Bartholdi & M. Vuilleumier, University of Geneva *
- #* *
- #*----------------------------------------------------------------------*
- #* *
- #* The Makefile for EDWIN *
- #* *
- #*----------------------------------------------------------------------*
- #* *
- #* Created by: L. Bartholdi Date: 1993 *
- #* Revision history: *
- #* - 18 Jun 92: Renaissance (Borland Compilers, ...) *
- #* *
- #* ``In nomine omnipotentii dei'' *
- #************************************************************************
-
- #
- # directories
- #
-
- .PATH.exe = bin
- .PATH.fsl = bin
- .PATH.s = sources\edwin
- .PATH.so = compile
-
- .suffixes: .s .so
- SCHEME=$(.PATH.exe)\pcs
-
- all: makeedwintemp commac.so edinit.so edwin.fsl
-
- .s.so:
- $(SCHEME) MAKEAUTO.TMP {$& }
-
- makeedwintemp:
- copy &&!
- (define version "4.10")
- (define source-dir "sources\\\\edwin\\\\")
- (define dist-dir "compile\\\\")
-
- (macro define-integrable
- (lambda (form)
- (pcs-chk-length= form form 3)
- (let ((id (cadr form))
- (exp (caddr form)))
- (pcs-chk-id form id)
- (putprop id (cons 'define-integrable exp) 'pcs*primop-handler)
- '())))
- (macro make-version
- (lambda (exp)
- `(define-integrable edwin-version ,version)))
- (make-version)
-
- (define (fsl name)
- (string-append dist-dir name ".so"))
- (define (source name)
- (string-append source-dir name ".s"))
- (define load-file
- (lambda (file)
- (let ((file1 (source file))
- (file2 (fsl file)))
- (writeln file1 " -> " file2)
- (gc)
- (fast-save-file file1 file2)
- (fast-load file2))))
- (define read-file
- (lambda (file)
- (fast-load (fsl file))
- (writeln "FSL-> " file)))
-
- (define *source-files*
- '("commac" "comfun" "emacros" "dwind" "charmac"
- "charset" "strcomp" "nstring" "struct" "regops"
- "comtabv" "initmac" "initkey" "buffer" "bufset"
- "ring" "motion" "redisp1" "redisp2" "insert80"
- "main" "curr" "marks" "messages" "modeln"
- "argred" "etopleve" "allcoms1" "allcoms2" "allcoms3"
- "edwinio" "kill" "search" "things" "incser"
- "words" "transpos" "parens" "lisp" "sentence"))
-
- (define *macro-files*
- '("commac" "charmac" "emacros" "initmac"))
-
- (map (lambda (name) (if (or (member name (cdr pcs-initial-arguments))
- (member name *macro-files*)
- (not (file-exists? (fsl name))))
- (load-file name)
- (read-file name)))
- *source-files*)
- (exit)
- ! MAKEAUTO.TMP
-
- edinit.so: edinit.s
- $(SCHEME) &&!
- (load (%system-file-name "miniboot.fsl"))
- (pcs-compile-file "sources\\\\edwin\\\\edinit.s" "compile\\\\edinit.so")
- (exit)
- !
-
- edwin.fsl: comfun.so dwind.so charset.so \
- strcomp.so nstring.so struct.so \
- regops.so comtabv.so initmac.so \
- initkey.so buffer.so bufset.so \
- ring.so motion.so main.so \
- curr.so redisp1.so redisp2.so \
- insert80.so messages.so modeln.so \
- argred.so etoplevel.so allcoms1.so \
- allcoms2.so allcoms3.so marks.so \
- edwinio.so search.so things.so \
- parens.so \
- transpos.so kill.so lisp.so \
- incser.so words.so sentence.so \
- edinit.so
- @echo. >$<
- @© /b $<+$** $<
- @touch $<